# -*- coding: utf-8 -*-

from Leitura import Leitura
import sqlite3
import os.path

class BasedeDados:

#O método executa a criação da base de dados
#Altera a sequencia de caracteres do ano: ex: (1995/96) para (1995_96)
#É efectuada a criação de uma tabela por ano.
	
	def criar_bd(self):
			
		conn = sqlite3.connect('Inscritos.db') 
		cursor = conn.cursor()
		ler = Leitura()
		anos = ler.obter_anos()
		for ano in anos:
			cursor.execute('''drop table if exists ano_{0}'''.format(ano)) 
			cursor.execute ('''create table if not exists ano_{0} (Chave INTEGER, Establecimento_Ensino TEXT, Unidade_Organica TEXT, Nivel_Formacao TEXT, Curso_Superior TEXT, Area_de_Educacao_Formacao TEXT, Total_Inscritos INTEGER)'''.format(ano))
			pass
		self.escrever_bd(anos, conn, cursor)
		pass

#O método escreve os dados na base de dados criada.
#Atribui valores aos campos da base de dados.
#Por cada ano, são preenchidos os campos da tabela.

	def escrever_bd(self, anos, conn, cursor):
		
		ler = Leitura()
		for ano in anos:
			chave = 1
			conteudo_xls = ler.ler_xls(int(ano.partition("_")[0]))
			for linha in conteudo_xls:
				cursor.execute('''insert into ano_{0}(Chave, Establecimento_Ensino, Unidade_Organica, Nivel_Formacao, Curso_Superior, Area_de_Educacao_Formacao, Total_Inscritos)values("{1}","{2}","{3}","{4}","{5}","{6}","{7}")'''.format(ano, chave, linha[0], linha[1], linha[2], linha[3], linha[4], linha[5])) 
				chave += 1
				pass
			pass
		
		conn.commit()
		conn.close()
		pass
	
	
	def verificar_bd(self):
		
		if os.path.exists('Inscritos.db') == False:
			return False
		
		else:
			return True
		pass
	
	pass

	
	



